Send Email OTP API
This document outlines the details of Send Email OTP API.
API Description
This document outlines the details of the Send Email OTP API.
Objective
The Send Email OTP API sends a One-Time Password (OTP) to the user's email address during the email verification process.
| Input | Output |
|---|---|
| The email-ID of the user and the desired OTP length | The API sends an OTP to the user's email and returns a JSON response with a request ID to be utilized by the Verify Email OTP API |
API URL
https://ind-engine.thomas.hyperverge.co/v1/sendOTPEmail
API Endpoint
sendOTPEmail
Overview
The API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format and you should upload all images and files as form-data through a POST request.
Authentication
You need a unique pair of application ID (appId) and application key (appKey) from HyperVerge to verify your identity for accessing the API.
API Request Details
Method - POST
Headers
| Parameter | Mandatory or Optional | Description | Allowed Values |
|---|---|---|---|
| content-type | Mandatory | This parameter defines the media type for the request payload | application/json |
| appId | Mandatory | The application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tab. | This should be a unique value |
| appKey | Mandatory | The application key shared by HyperVerge. You can find the details in the dashboard's credentials tab. | This should be a unique value |
| transactionId | Mandatory | A unique identifier for tracking a user journey | This should be both unique and easily associated with the user's journey in your application(s) |
Inputs
The following table provides the complete information on the parameters used in the request body for the API calls.
| Parameter | Description | Mandatory or Optional | Allowed Values | Default Value |
|---|---|---|---|---|
email | The user's email address | Mandatory | Not Applicable | Not Applicable |
otpLength | The desired length of the OTP meant for the user's email address | Mandatory | OTP length must be either 4 or 6 digits | Not Applicable |
widgetId | The Widget ID for a custom email template. If this is not passed, the default email template with HyperVerge branding will be sent | Optional | Not Applicable | The widgetId from HyperVerge |
Request
The following code shows a standard cURL request for the API.
curl --location --request POST 'https://ind-engine.thomas.hyperverge.co/v1/sendOTPEmail' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"emailId": "<Enter_the_email_ID>",
"otpLength": "<Enter_the_chosen_otp_length>",
"widgetId": "<Enter_the_Widget_ID>"
}'
Success Response
The following is a success response from the API.
{
"status": "success",
"statusCode": "200",
"result": {
"message": "<Request_ID>"
}
}
Success Response Details
| Parameter | Type | Description |
|---|---|---|
| message | String | This is the request ID for verifying the OTP which is further utilized as an input parameter by the Verify Email OTP API |
Error Responses
- Input Validation Error
- Missing/Invalid Credentials
- Internal Server Error
{
"message": "Input Validation Error: is not one of enum values: 4,6",
"statusCode": 400,
"status": "failure"
}
{
"message": "Missing/Invalid credentials",
"statusCode": 401,
"status": "failure"
}
{
"statusCode": 500,
"status": "failure",
"error": "Internal Server Error"
}
Error Response Details
failure status, with a relavant status code and error message. The following table lists all error responses. | Status Code | Error Message | Error Description |
|---|---|---|
| 400 | Missing required request parameters | Some mandatory request parameters are missing in the API request made or the parameter has already been passed |
| 401 | Missing/Invalid credentials | The request is either missing the mandatory appId and appKey combination or has invalid values |
| 403 | Access Denied | Please contact the HyperVerge team for resolution |
| 429 | Rate limit exceeded | You have exceeded the configured limit on the number of transactions permitted in a minute. Please contact the HyperVerge team for resolution |
| 500 | Internal Server Error | Please check the request headers or contact the HyperVerge team for resolution |